# This is a config file for Fraunhofer parallel file system management nodes.
# http://www.fhgfs.com


# --- [Table of Contents] ---
#
# 1) Settings
# 2) Command Line Arguments
# 3) Settings Documentation


#
# --- Section 1: [Settings] --- 
#

logLevel                       = 2
logNoDate                      = false
logStdFile                     = /var/log/fhgfs-mgmtd.log
logNumLines                    = 50000
logNumRotatedFiles             = 5

connPortShift                  = 0
connMgmtdPortUDP               = 8008
connMgmtdPortTCP               = 8008
connBacklogTCP                 = 128
connInterfacesFile             =
connNetFilterFile              =

storeMgmtdDirectory            = <%= mgmtd_directory %>
storeAllowFirstRunInit         = true

tuneNumWorkers                 = 4
tuneMetaNodeAutoRemoveMins     = 0
tuneStorageNodeAutoRemoveMins  = 0
tuneClientAutoRemoveMins       = <%= client_auto_remove_mins %>
tuneMetaSpaceLowLimit          = <%= meta_space_low_limit %>
tuneMetaSpaceEmergencyLimit    = <%= meta_space_emergency_limit %>
tuneStorageSpaceLowLimit       = <%= storage_space_low_limit %>
tuneStorageSpaceEmergencyLimit = <%= storage_space_emergency_limit %>

sysAllowNewServers             = true
sysForcedRoot                  =
sysOverrideStoredRoot          = false

runDaemonized                  = true


#
# --- Section 2: [Command Line Arguments] ---
#

# Use the command line argument "cfgFile=/etc/anotherconfig.conf" to
# specify a different config file for fhgfs-mgmtd.
#
# All other options in this file can also be used as command line
# arguments, overriding the corresponding config file values.


#
# --- Section 3.1: [Logging] ---
#

# [logLevel]
# Defines the amount of output messages. The higher this level, the more
# detailed the log messages will be.
# Note: Levels above 2 might decrease performance.
# Default: 2 (Max: 5)

# [logNoDate]
# Defines whether "date & time" (=false) or the current "time only" (=true)
# should be logged.
# Default: false 

# [logStdFile]
# The path and filename of the log file for standard log messages. If no name
# is specified, the messages will be written to the console.
# Default: /var/log/fhgfs-mgmtd.log

# [logNumLines]
# The maximum number of lines per log file.
# Default: 50000

# [logNumRotatedFiles]
# The number of old files to keep when "logNumLines" is reached and the log file
# is rewritten (log rotation).
# Default: 5


#
# --- Section 3.2: [Connections & Communication] ---
#

# [connPortShift]
# Shifts all following UDP and TCP ports according to the specified value.
# Intended to make port configuration easier in case you do not want to
# configure each port individually.  
# Default: 0

# [connMgmtdPortUDP], [connMgmtdPortTCP]
# The UDP and TCP ports of the management node.
# Default: 8008

# [connBacklogTCP]
# The TCP listen backlog.
# Default: 64

# [connInterfacesFile]
# The path to a text file that specifies the names of the interfaces, which
# may be used for communication. One interface per line. The line number also
# defines the priority of the interface.
# Example: "ib0" in the first line, "eth0" in the second line.
# Values: This setting is optional. If unspecified, all available interfaces 
#    will be used and priorities will be assigned automatically.
# Note: This has no influence on outgoing connections. The information is sent
#    to other hosts to inform them about possible communication paths.
# Default: <none>

# [connNetFilterFile]
# The path to a text file that specifies allowed IP subnets, which may be used
# for outgoing communication. One subnet per line in classless notation (IP
# address and number of significant bits).
# Example: "192.168.10.0/24" in the first line, "192.168.20.0/24" in the second
#    line.
# Values: This setting is optional. If unspecified, all addresses are allowed 
#    for outgoing communication.
# Default: <none>


#
# --- Section 3.3: [Storage] ---
#

# [storeMgmtdDirectory]
# The absolute path and name of a directory where the file system can store its
# management data.
# Default: <none>

# [storeAllowFirstRunInit]
# Enables or disables daemon startup with an uninitialized storage directory.
# This can be used to make sure that the daemon does not run when the storage
# partition is not mounted (e.g. because it needs repair after a power outage).
# Note: This setting must be enabled during first startup of the daemon, but
#    may be disabled afterwards.
# Default: true


#
# --- Section 3.4: [Tuning] ---
#

# [tuneNumWorkers]
# The number of worker threads. Should be at least 3. A value of up to twice
# the number of CPU cores of your machine is the recommended choice.
# Note: The management daemon does not use a lot of CPU cyles and is not
#    critical for file system performance.
# Default: 4

# [tuneMetaNodeAutoRemoveMins], [tuneStorageNodeAutoRemoveMins],
# [tuneClientAutoRemoveMins]
# The time (in minutes) after which an unreachable node is assumed to be dead
# and thus will be removed from the file system. In this case, storage and
# metadata nodes will no longer be chosen to store new files and directories.
# Clients will lose their file handles.
# Note: 0 disables automatic removal.
# Note: A value greater than 0 is especially recommended for clients to allow
#    the automatic release of old file handles. A value of 0 is typically
#    recommended for metadata and storage servers, because you will rarely shut
#    them down permanently (and can remove them manually in that case).
# Default: Meta: 0; Storage: 0; Client: 30

# [tuneMetaSpaceLowLimit], [tuneMetaSpaceEmergencyLimit],
# [tuneStorageSpaceLowLimit], [tuneStorageSpaceEmergencyLimit]
# The free space class thresholds. If a server (or storage target) is below a
# threshold, it will only be used to store new files and directories when no
# higher class servers are available.
# Note: Node preference settings of a client will be ignored if it helps to
#    avoid using servers from the emergency class.
# Default: Meta: 10G/3G; Storage: 1T/10G 


#
# --- Section 3.5: [System Settings] ---
#

# [sysAllowNewServers]
# Specifies whether new servers can be added to the system. If set to false,
# registration requests of new servers will be rejected.
# Default: true

# [sysForcedRoot]
# Forces the definition of a root node ID (hostname). The root node will be
# chosen automatically if this value is undefined.
# Default: <none>

# [sysOverrideStoredRoot]
# Specifies whether the value of "sysForcedRoot" should override the value
# of a previously stored root node ID. 
# Default: false


#
# --- Section 3.6: [Startup] ---
#

# [runDaemonized]
# Detach the process from its parent (and from stdin/-out/-err).
# Default: true
